// IPersonManager.aidl
package com.jie.other.aidl;

// Declare any non-default types here with import statements
import com.jie.other.aidl.Person;
import com.jie.other.aidl.IPersonChangeListener;

interface IPersonManager {
//    /**
//     * Demonstrates some basic types that you can use as parameters
//     * and return values in AIDL.
//     */
//    void basicTypes(int anInt, long aLong, boolean aBoolean, float aFloat,
//            double aDouble, String aString);

    List<Person> getPersonList();

    void registerChangeListener(IPersonChangeListener listener);
    void unregisterChangeListener(IPersonChangeListener listener);

    void addPersonIn(in Person person);
    void addPersonOut(out Person person);
    void addPersonInOut(inout Person person);

    oneway void delayAddPerson(in Person person);

    void clearPerson();

    void killProcess();
}